package main

import (
	"fmt"
	"time"
)

func main() {
	ch1 := make(chan string)
	ch2 := make(chan string)

	// 启动两个 goroutine，分别向 ch1 和 ch2 发送数据
	go func() {
		time.Sleep(1 * time.Second)
		ch1 <- "来自 ch1 的消息"
	}()

	go func() {
		time.Sleep(2 * time.Second)
		ch2 <- "来自 ch2 的消息"
	}()

	// 使用 select 监听多个 channel
	for i := 0; i < 2; i++ {
		select {
		case msg1 := <-ch1:
			fmt.Println("收到 ch1:", msg1)
		case msg2 := <-ch2:
			fmt.Println("收到 ch2:", msg2)
		}
	}
}
